package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.SysUser;
import org.apache.ibatis.annotations.Param;

public interface UserDao {

    //权限控制，通过用户名查询用户详情
    SysUser findByUsername(String username);

    /**
     * 用户管理-新增用户
     * @param sysUser
     */
    void save(SysUser sysUser);

    /**
     * 用户管理-分页查询
     * @return
     */
    Page<SysUser> findPage();

    /**
     * 用户管理-编辑信息的回显
     * @param id
     * @return
     */
    SysUser findById(Integer id);

    /**
     * 用户管理-编辑信息
     * @param sysUser
     */
    void edit(SysUser sysUser);

    /**
     * 用户管理-查询是否关联
     * @param id
     * @return
     */
    long findCountById(Integer id);

    /**
     * 用户管理-删除用户
     * @param id
     */
    void delById(Integer id);

    Integer[] findRoleIdsById(Integer id);

    void setRelation(@Param("userId") Integer id, @Param("roleId") Integer roleId);

    void delRelation(Integer id);

}
